0 REM *********************** 1 REM ** FILE XRAY PROGRAM ** 2 REM ** COPYRIGHT (C)1986 ** 3 REM ** ESP ENTERPRISES ** 4 REM ** PROGRAMMED BY ** 5 REM ** PAUL A EVES ** 6 REM *********************** 7 REM 8 REM 9 REM *********************** 10 REM ** DISABLE RUN/STOP- ** 11 REM ** RESTORE AND LIST ** 12 REM ** SET BORDER/SCREEN ** 13 REM **COLOURS AND DISPLAY** 14 REM ** MAIN TITLES ** 15 REM *********************** 16 CLR:PRINTCHR$(142);CHR$(8):POKE792,193:POKE808,234 17 POKE53280,0:POKE53281,0:POKE646,14:PRINT"[147]"; 18 GOSUB165 19 PRINT" [159]ESP ENTERPRISES PRESENTS" 20 PRINT" [154] FILE X-RAY DISPLAY PROGRAM" 21 PRINT" [163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]" 22 PRINT" [150][FOR COMMODORE 64 PLUS 1541 DRIVE]" 23 PRINT"[154] AUTHOR: [158]PAUL A. EVES" 24 PRINT"[154] RE-WRITTEN : [158]JUNE '91 FOR CDU" 25 PRINT" ANY KEY TO CONTINUE" 26 GOSUB167 27 WAIT198,1:POKE198,0 28 PRINT"[147]LIST DIRECTORY:- [YES] [NO] OR [END]?" 29 GETK$:IFK$<>"Y"ANDK$<>"N"ANDK$<>"E"THEN29 30 IFK$="Y"THENNF=1:GOSUB42 31 IFK$="E"THENPRINT"[147]":END 32 NF=0 33 INPUT"REQUIRED FILE:-";N$ 34 IFLEN(N$)>16THENN$=LEFT$(N$,16) 35 REM 36 REM 37 REM ******************** 38 REM ** READ DIRECTORY ** 39 REM ******************** 40 REM 41 REM 42 OPEN15,8,15,"I0":OPEN2,8,2,"#" 43 TR=18:SE=1 44 PRINT#15,"B-R";2;0;TR;SE 45 PRINT#15,"B-P";2;0 46 GET#2,K$:IFK$=""THENK$=CHR$(0) 47 TR=ASC(K$) 48 GET#2,K$:IFK$=""THENK$=CHR$(0) 49 SE=ASC(K$) 50 FORI=0TO7 51 PRINT#15,"B-P";2;I*32+5 52 NA$="" 53 FORZ=0TO15 54 GET#2,K$:IFK$=""THENK$=CHR$(0) 55 IFASC(K$)=160THEN58 56 NA$=NA$+K$ 57 NEXTZ 58 IFN$=NA$THEN68 59 IFNFTHENPRINTNA$ 60 NEXTI 61 IFTR=0THEN63 62 GOTO44 63 CLOSE2:CLOSE15 64 IFNF<>0THEN68 65 IFNF=0THENPRINT"[150][164][164][164][164][164][164][164][164][157][157][157][157][157][157][157][157]ERROR...[146] NO SUCH FILE!!!" 66 PRINT" ANY KEY TO CONTINUE" 67 WAIT198,1:POKE198,0:RUN 68 IFNFTHENRETURN 69 REM 70 REM 71 REM ******************** 72 REM **READS AND STORES** 73 REM ** PARAMETERS OF ** 74 REM ** REQUIRED FILE ** 75 REM ******************** 76 REM 77 REM 78 PRINT#15,"B-P";2;I*32+2 79 GET#2,K$:IFK$=""THENK$=CHR$(0) 80 TP=ASC(K$) 81 AF=TPAND15 82 IFAF=0THENTY$="DELETED" 83 IFAF=1THENTY$="SEQUENTIAL" 84 IFAF=2THENTY$="PROGRAM" 85 IFAF=3THENTY$="USER" 86 IFAF=4THENTY$="RELATIVE" 87 IFAF>4THENPRINT"[150][164][164][164][164][164][164][164][164][157][157][157][157][157][157][157][157]ERROR...[146] FILE TYPE NOT RECOGNISED!!!":GOTO66 88 IFTPAND128THENXX$="YES":GOTO90 89 XX$="NO" 90 IFTPAND64THENSE$="YES":GOTO92 91 SE$="NO" 92 PRINT#15,"B-P"2,I*32+30 93 GET#2,K$:IFK$=""THENK$=CHR$(0) 94 LO=ASC(K$) 95 GET#2,K$:IFK$=""THENK$=CHR$(0) 96 HI=ASC(K$)*256 97 BK=LO+HI 98 IFAF<>4THEN102 99 PRINT#15,"B-P";2;I*32+23 100 GET#2,K$:IFK$=""THENK$=CHR$(0) 101 LE=ASC(K$) 102 IFAF<>2THEN117 103 PRINT#15,"B-P";2;I*32+3 104 GET#2,K$:IFK$=""THENK$=CHR$(0) 105 DB=ASC(K$) 106 GET#2,K$:IFK$=""THENK$=CHR$(0) 107 DF=ASC(K$) 108 OPEN3,8,3,"#" 109 PRINT#15,"B-R";3;0;DB;DF 110 PRINT#15,"B-P";3;2 111 GET#3,K$:IFK$=""THENK$=CHR$(0) 112 LO=ASC(K$) 113 GET#3,K$:IFK$=""THENK$=CHR$(0) 114 HI=ASC(K$)*256 115 FA=LO+HI 116 CLOSE3 117 PRINT#15,"B-R";2;0;18;0 118 FB=0 119 FORJ=4TO140STEP4 120 IFJ=72THEN124 121 PRINT#15,"B-P";2;J 122 GET#2,K$:IFK$=""THENK$=CHR$(0) 123 FB=ASC(K$)+FB 124 NEXTJ 125 AB=664-FB 126 IFAF<>4THEN137 127 SB=BK/121:IFSB<>INT(SB)THENSB=INT(SB+1) 128 RF=INT(((BK-SB)*256)/LE) 129 REM ******************** 130 REM ** ASKS FOR OUTPUT** 131 REM ** METHOD. SCREEN ** 132 REM ** OR PRINTER] AND** 133 REM ** DISPLAYS INFO ** 134 REM ******************** 135 REM 136 REM 137 PRINT"[147]OUTPUT TO [SCREEN] OR [PRINTER] ?" 138 GETK$:IFK$<>"S"ANDK$<>"P"THEN138 139 IFK$="S"THENOPEN1,3:PRINT#1,CHR$(147):GOSUB165 140 IFK$="P"THENOPEN1,4 141 PRINT#1," PROGRAM NAME: ";N$ 142 PRINT#1:PRINT#1:PRINT#1 143 PRINT#1," -:PROGRAM PARAMETERS:-" 144 PRINT#1:PRINT#1 145 PRINT#1," TYPE OF FILE: ";TY$ 146 PRINT#1," FILE CLOSED: ";XX$ 147 PRINT#1," FILE PROTECTED: ";SE$ 148 PRINT#1," NUMBER OF BLOCKS: ";BK 149 IFAF<>4THEN154 150 PRINT#1," RECORD LENGTH: ";LE 151 PRINT#1," SIDE-SECTOR BLOCKS: ";SB 152 PRINT#1," DATA BLOCKS: ";BK-SB 153 PRINT#1," RECORDS: ";RF 154 IFAF=2THENPRINT#1," START ADDRESS: ";FA 155 PRINT#1," BLOCKS AVAILABLE[DISK]:";FB 156 PRINT#1," BLOCKS ALLOCATED[DISK]:";AB:PRINT#1:PRINT#1:PRINT#1 157 CLOSE1 158 PRINT" RE-RUN PROGRAM [YES] OR [NO] ? 159 [141]167 160 [160]2:[160]15 161 [161]K$:[139]K$[178]""[167]161 162 [139]K$[178]"Y"[167][137]0 163 [139]K$[178]"N"[167][153]"LOAD":[128] 164 [137]161 165 [151]53265,[194](53265)[175]239 166 [142] 167 [151]53265,[194](53265)[176]16 168 [142]